Độ phức tạp của chương trình giải bài toán FreeCell

Trò chơi FreeCell có số lượng lá bài không đổi. Điều này ngụ ý rằng trong thời gian không đổi, một người hoặc một máy tính có thể liệt kê tất cả các chuyển động có thể có từ một cấu hình bắt đầu cho trước và khám phá một tập hợp cách đi để chiến thắng hoặc khẳng định là trò chơi không thể giải quyết được. Để thực hiện một phân tích phức tạp thú vị, người ta phải xây dựng một phiên bản tổng quát của trò chơi FreeCell với 4 × n lá bài. Phiên bản tổng quát của trò chơi này có độ phức tạp là NP-đầy đủ;[8] nó không chắc rằng bất kỳ thuật toán nào hiệu quả hơn so với một tìm kiếm toàn bộ tồn tại mà có thể tìm thấy các giải pháp cho các cách chia bài FreeCell tổng quát tùy ý.

Có 52! (52 giai thừa), hoặc xấp xỉ 8×1067, cách chia bài. Tuy vậy một số cách chia bài là giống hệt nhau vì các chất của các lá bài có thể hoán đổi cho nhau và các cột quân bài có thể đổi chỗ tùy ý. Sau khi loại bỏ các trường hợp trên chúng ta còn xấp xỉ 1.75×1064 cách chia bài FreeCell.[2]

Tài liệu tham khảo

WikiPedia: FreeCell http://www.escapistmagazine.com/articles/view/issu... http://solitairelaboratory.com/fcfaq.html http://www.freecell.net/f/c/alfille.html http://pysolfc.sourceforge.net/doc/rules/freecell.... //dx.doi.org/10.1016%2FS0004-3702(02)00364-8 //dx.doi.org/10.1038%2Fscientificamerican0668-112 //dx.doi.org/10.1109%2FTCIAIG.2012.2210423 http://www.genetic-programming.org/hc2013/Sipper-P... https://books.google.com/books?id=BjhFgc4DdjIC&pg=... https://query.nytimes.com/gst/fullpage.html?res=9F...